#pragma once


#include "genesis_color.hpp"
#include "genesis_tile.hpp"

#include <QColor>
#include <QPixmap>
#include <QString>
#include <Qt>


class GenesisColorObject : public GenesisColor,
						   public QColor
{	
public: // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

	GenesisColorObject(QRgb rgbColor)
		: GenesisColor(qRed(rgbColor),
					   qGreen(rgbColor),
					   qBlue(rgbColor)),
		  QColor(rgbColor) {};
};


class GenesisTileObject : public GenesisTile,
						  public QPixmap
{
public: // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

	GenesisTileObject(void)
		: GenesisTile(),
		  QPixmap() {}
	GenesisTileObject(const QString & tilePath)
		: GenesisTile(),
		  QPixmap(tilePath, nullptr, Qt::ColorOnly | Qt::AvoidDither) {}
};

